package com.dungnt.vtime.common.interfaces;

import android.app.Activity;
import android.app.Dialog;
import android.content.Intent;
import android.content.res.Configuration;
import android.os.Bundle;
import android.view.ActionMode;
import android.view.ContextMenu;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ContextMenu.ContextMenuInfo;

public interface IActivityController {
	void onCreate(Bundle savedInstanceState);

	void start(Intent intent);

	void onSaveInstanceState(Bundle outState);

	void onRestoreInstanceState(Bundle inState);

	void handleNewIntent(Intent intent);

	void onResume();

	boolean onMenuOpened(int featureId, Menu menu);

	void onOptionsMenuClosed(Menu menu);

	void onContextMenuClosed(Menu menu);

	void onPause();

	void onDestroy();

	void onConfgurationChanged(Configuration newConfig);

	void onLowMemory();

	boolean onCreateOptionsMenu(Menu menu);

	boolean onPrepareOptionsMenu(Menu menu);

	boolean onOptionsItemSelected(MenuItem item);

	// TODO:remove this later once TabListPopup is removed
	public boolean onOptionsItemSelected(int paramInt);

	void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo);

	boolean onContextItemSelected(MenuItem item);

	void onActionModeStarted(ActionMode mode);

	void onActionModeFinished(ActionMode mode);

	void onActivityResult(int requestCode, int resultCode, Intent intent);

	boolean dispatchKeyEvent(KeyEvent event);

	Dialog onCreateDialog(int id);

	void onPrepareDialog(int id, Dialog dialog);

	void onWindowFocusChanged(boolean hasWindowFocus);

	void onTrimMemory(int level);

	void onBackPressed();

	void setParentActivity(Activity mparentavtivity);

	boolean onSearchRequested();
}
